package com.example.auth.dto;

import java.io.Serializable;

/**
 * Batch Task Request Class, used for creating tasks in bulk
 */
public class TaskRequest implements Serializable {
    private String titleTemplate; // Task title template, can include placeholders like {Student Name}
    private String descriptionTemplate; // Task description template, can include placeholders like {Student Name}, {Project Name}
    private String priority; // Priority
    private String status; // Status
    private String startTime; // Start time
    private String endTime; // End time
    private boolean assignToAllStudents; // Whether to assign to all students in the project

    public TaskRequest() {
    }

    public TaskRequest(String titleTemplate, String descriptionTemplate, String priority,
                       String status, String startTime, String endTime, boolean assignToAllStudents) {
        this.titleTemplate = titleTemplate;
        this.descriptionTemplate = descriptionTemplate;
        this.priority = priority;
        this.status = status;
        this.startTime = startTime;
        this.endTime = endTime;
        this.assignToAllStudents = assignToAllStudents;
    }

    // Getters and Setters
    public String getTitleTemplate() {
        return titleTemplate;
    }

    public void setTitleTemplate(String titleTemplate) {
        this.titleTemplate = titleTemplate;
    }

    public String getDescriptionTemplate() {
        return descriptionTemplate;
    }

    public void setDescriptionTemplate(String descriptionTemplate) {
        this.descriptionTemplate = descriptionTemplate;
    }

    public String getPriority() {
        return priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public boolean isAssignToAllStudents() {
        return assignToAllStudents;
    }

    public void setAssignToAllStudents(boolean assignToAllStudents) {
        this.assignToAllStudents = assignToAllStudents;
    }
}